#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test that gettext() in multithreaded applications correctly uses the
# per-thread locale.

test -d in-th-1 || mkdir in-th-1
test -d in-th-1/fr || mkdir in-th-1/fr
test -d in-th-1/fr/LC_MESSAGES || mkdir in-th-1/fr/LC_MESSAGES

: ${MSGFMT=msgfmt}
${MSGFMT} -o in-th-1/fr/LC_MESSAGES/tstthread.mo "$wabs_srcdir"/intl-thread-1.po

: ${LOCALE_FR=fr_FR}
: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
if test $LOCALE_FR != none; then
  prepare_locale_ in-th-1/fr in-th-1/$LOCALE_FR
  ../intl-thread-1-prg $LOCALE_FR > in-th-1.out
  case $? in
    0) ;;
    77)
      echo "Skipping test: POSIX per-thread locales not supported"
      Exit 77
      ;;
    *)
      Exit 1
      ;;
  esac
fi
if test $LOCALE_FR_UTF8 != none; then
  prepare_locale_ in-th-1/fr in-th-1/$LOCALE_FR_UTF8
  ../intl-thread-1-prg $LOCALE_FR_UTF8 > in-th-1.out
  case $? in
    0) ;;
    77)
      echo "Skipping test: POSIX per-thread locales not supported"
      Exit 77
      ;;
    *)
      Exit 1
      ;;
  esac
fi
if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then
  if test -f /usr/bin/localedef; then
    echo "Skipping test: no french locale is installed"
  else
    echo "Skipping test: no french locale is supported"
  fi
  Exit 77
fi

Exit 0
